home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 1 / NetNews Offline Volume 1.iso / news / fido / ger / amiprog / 36 < prev    next >
Internet Message Format  |  1996-03-16  |  3KB

  1. From: Stefan_Rompf@p2.f1529.n244.z2.fido.sub.org (Stefan Rompf)
  2. Organization: Garbage In Garbage Out
  3. Path: f2.n244.z2.fidonet.org!not-for-mail
  4. Newsgroups: fido.ger.amiprog
  5. Subject: FileSysteme/RDB
  6. Message-ID: <32791400@lsdg.adsp.sub.org>
  7. References: <MSGID_2=3A2449=2F630.15_302a69b8@fidonet.org>
  8. Date: Sat, 12 Aug 1995 10:35:10 +0200
  9.  
  10. Hi Thore,
  11.  
  12. > (Internal)LoadSeg() liest nur aus DATEIEN!!! Nicht aus dem Speicher oder
  13. > direkt vom RDB!! Der RDB is fuer das FileSystem nicht erreichbar.
  14.  
  15. LoadSeg() ja, InternalLoadSeg() nein. Zugegeben, die Autodocs sind etwas
  16. missverstaendlich:
  17.  
  18. --------------------------------------------8<----------------------------
  19.  
  20. dos.library/InternalLoadSeg                       dos.library/InternalLoadSeg
  21.  
  22.    NAME
  23.     InternalLoadSeg -- Low-level load routine (V36)
  24.  
  25.    SYNOPSIS
  26.     seglist = InternalLoadSeg(fh,table,functionarray,stack)
  27.     D0              D0  A0        A1      A2
  28.  
  29.     BPTR InternalLoadSeg(BPTR,BPTR,LONG *,LONG *)
  30.  
  31.    FUNCTION
  32.     Loads from fh.  Table is used when loading an overlay, otherwise
  33.     should be NULL.  Functionarray is a pointer to an array of functions.
  34.     Note that the current Seek position after loading may be at any point
  35.     after the last hunk loaded.  The filehandle will not be closed.  If a
  36.     stacksize is encoded in the file, the size will be stuffed in the
  37.     LONG pointed to by stack.  This LONG should be initialized to your
  38.     default value: InternalLoadSeg() will not change it if no stacksize
  39.     is found. Clears unused portions of Code and Data hunks (as well as
  40.     BSS hunks).  (This also applies to LoadSeg() and NewLoadSeg()).
  41.  
  42.     If the file being loaded is an overlaid file, this will return
  43.     -(seglist).  All other results will be positive.
  44.  
  45.     NOTE to overlay users: InternalLoadSeg() does NOT return seglist in
  46.     both D0 and D1, as LoadSeg does.  The current ovs.asm uses LoadSeg(),
  47.     and assumes returns are in D1.  We will support this for LoadSeg()
  48.     ONLY.
  49.  
  50.    INPUTS
  51.     fh          - Filehandle to load from.
  52.     table          - When loading an overlay, otherwise ignored.
  53.     functionarray - Array of function to be used for read, alloc, and free.
  54.        FuncTable[0] ->  Actual = ReadFunc(readhandle,buffer,length),DOSBase
  55.                     D0                D1         A0     D0      A6
  56.        FuncTable[1] ->  Memory = AllocFunc(size,flags), Execbase
  57.                     D0                 D0   D1      a6
  58.        FuncTable[2] ->  FreeFunc(memory,size), Execbase
  59.                              A1     D0     a6
  60.     stack         - Pointer to storage (ULONG) for stacksize.
  61.  
  62.    RESULT
  63.     seglist          - Seglist loaded or NULL.  NOT returned in D1!
  64.  
  65.    BUGS
  66.     Really should use tags.
  67.  
  68.    SEE ALSO
  69.     LoadSeg(), UnLoadSeg(), NewLoadSeg(), InternalUnLoadSeg()
  70.  
  71. --------------------------------------------8<----------------------------
  72.  
  73. Es wird zwar ein Filehandle uebergeben, aber das existiert nur, um an
  74. FuncTable[0] weitergereicht zu werden. Und da Du dort dann eine eigene
  75. Funktion eintraegst, kannst Du die Daten auch von irgendwoher anders holen.
  76.  
  77. cu.. Stefan
  78.